package cn.demoncat.util.xml.entity;

import cn.demoncat.util.lang.IntegerUtil;
import com.thoughtworks.xstream.converters.SingleValueConverter;
import com.thoughtworks.xstream.converters.basic.AbstractSingleValueConverter;

/**
 * XStream Integer转换器
 * 
 * 默认使用IntConverter，如果XML值为空，会 throw new NumberFormatException("Zero length string")
 * 
 * @author 延晓磊
 *
 * @since 2019年10月10日
 */
public class XStreamIntegerConverter extends AbstractSingleValueConverter {

	/**
	 * 实例
	 */
	public static final SingleValueConverter INSTANCE = new XStreamIntegerConverter();

	/**
	 * 类型判断
	 * 
	 * @param 	type	
	 * @return
	 *
	 * @author 延晓磊
	 *
	 * @since 2019年10月10日
	 *
	 */
	@Override
	public boolean canConvert(Class type) {
		return type == Integer.class;
	}

	/**
	 * 反序列化
	 *
	 * @param str
	 * @return
	 */
	@Override
	public Object fromString(String str) {
		return IntegerUtil.valueOf(str);
	}


}
